package com.dragon.app.reflect;

import java.lang.reflect.Array;

/**
 *
 */
public class ArrayTest2
{
    public static void main(String[] args)
    {
        //新建一个一维数组
        int[] dims = new int[] {5, 10, 15};
        /*
         * Array.newInstance()方法的第一个参数表示生成数组的元素类型，
         * 第二个参数（数组）的长度表示生成数组的维度，
         * 数组的每个元素表示每个维度元素的个数
         */
        Object array = Array.newInstance(Integer.TYPE, dims); 
        //得到的arrayObj一个二维数组
        Object arrayObj = Array.get(array, 3);
        //得到的arrayObj一个一维数组
        arrayObj = Array.get(arrayObj, 5);
        Array.set(arrayObj, 10, 56);
        
        int[][][] arrayCast = (int[][][])array;
        System.out.println(arrayCast[3][5][10]);
    }
}